The present invention relates in general to electronic controls in an automobile, and more specifically to the transmitting of spark timing target values from an engine controller to an ignition module using pulse width modulation.
Distributed processing is a commonly used technique in computer based systems wherein information processing devices are interconnected so that data can be exchanged and the processing functions are shared. Such distributed systems are employed to achieve increased capacity, increased speed, and improved flexibility for making modifications.
Distributed processing systems have been used to advantage in automobile control systems, especially electronic engine controls. For example, a main controller monitors engine conditions from a plurality of sensors. Based on engine conditions, the main controller calculates various settings for setting a plurality of engine control parameters. A separate engine control parameter may be controlled by a separate programmable control module which receives signals from the main controller and performs its own calculations prior to implementing a control function over the engine parameter. By way of example, separate control modules, responsive to a main controller, can supervise operation of fuel injectors, spark timing, exhaust gas recirculation (EGR), and other automotive systems. Furthermore, systems other than the engine can be controlled using distributed processing systems, such as the transmission system or the suspension system in a vehicle.
In order to successfully operate a distributed processing system, data must be accurately communicated between the separate processors. However, an automobile engine is a noisy electrical environment, especially due to electromagnetic interference generated by spark events in the cylinders. If noise signals are picked up by the communication line connected between processors, corruption of transmitted data can result. The corruption of data is likely to cause improper operation of the controlled system (e.g., engine).
Moyer et al, U.S. Pat. No. 3,969,614, discloses an electronic engine control which monitors engine parameters and in response commands settings of fuel injection, exhaust gas return valve, and spark advance. A main central processing unit determines a proper spark advance value for the current condition of the engine. Commanded values are communicated to implementing circuits via a digital bus. U.S. Pat. No. 4,231,091 issued to Motz, and U.S. Pat. No. 4,351,306 issued to Luckman et al, provide additional examples of the use of a digital bus to communicate ignition signals from a master unit to an ignition unit, but the units are tied together by an address bus and a data bus within a single module.
Noise on a digital data line can cause random errors in the digital value transmitted. Thus, the resulting error in the communicated data can occur in either high order or low order bits. Therefore, the error introduced by a single noise pulse can be very large.
U.S. Pat. No. 4,661,778 issued to Anderson includes a further communication technique wherein the master control provides a pulse to an ignition module for directly commanding spark and ignition timing in real time. In this case, the pulse has a first transition at a time corresponding to the beginning of a dwell period wherein an ignition coil is supplied with current. A second, reverse transition in the pulse occurs at the time when a spark is desired and when current to the ignition coil is turned off. Noise signals occurring during the period of the ignition timing pulse can cause the spark event to occur at a random time, rather than at a desired spark advance.